package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为List集合
 * <p>
 * 数组的工具类java.util,Arrays提供了一个静态方法:asList,可以将数组转换为List集
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one", "two", "three", "four", "five"};
        System.out.println("数组:" + Arrays.toString(array));

        List<String> list = Arrays.asList(array);
        System.out.println("list:" + list);
        /*
        对该集合的操作就是对原数组对应元素的操作
         */
        list.set(1, "six");
        System.out.println("list:" + list);
        System.out.println("数组:" + Arrays.toString(array));
        //由于数组定长,因此该集合的增删元素会抛出异常
        //list.add("seven");

        /*
            若需要增删元素，需要自行创建一个新集合

            所有集合都支持一个参数为Collection的构造方法，作用是在创建当前集合的同时
            包含给定集合中的所有元素
         */
        //创建list2集合的同时包含list集合中所有元素

        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2:" + list2);
        list2.add("seven");
        System.out.println("list2:" + list2);

    }
}
